"""
编写一个批量修改文件名的工具，并打包成exe。

1、创建一个文件夹，里面任意一堆的文件。
2、给下面的文件批量加一个前缀。
3、根据文件创建时间排序，在扩展名前加序号，序号递增。
main.exe --dir C:\abc --prefix hh
xxx.txt => hhxxx1.txt
"""

import os
import sys
from datetime import datetime


# 创建一个文件夹
def create_dir(path):
    os.makedirs(path)
    print('文件夹创建成功！')


# 在创建好的文件夹中创建文件
def create_files(path):
    for i in range(1, 5):
        time = datetime.now().strftime('%Y%m%d')
        filename = data_path + '/' + str(i) + '.txt'
        f = open(filename, 'w')
        print('文件{}创建完成！'.format(i))
        f.close()


def prefix_files(path):
    prefix = input('请输入需要添加的前缀：')
    for f in os.listdir(path):
        filename = path + '/' + f
        newfilename = path + '/' + prefix + f
        os.rename(filename, newfilename)
        print('{}前缀{}添加完成,新文件名为{}'.format(f, prefix, prefix + f))


# 文件创建时间排序
def order_creteatime(path):
    dir_list = sorted(os.listdir(path), key=lambda x: os.path.getctime(os.path.join(path, x)))
    print('文件已排序完成！排序如下：')
    print('排序后的结果为：{}'.format(dir_list))


if __name__ == '__main__':
    data_path = input('请输入文件的路径：')
    create_dir(data_path)
    create_files(data_path)
    prefix_files(data_path)
    order_creteatime(data_path)


